<?php
class model_contact extends common_model {
	/**
	 * 基本表属性
	 */
	protected $table = 'contact';
	protected $pk = 'con_id';
	
	/**
	 * 导入联系人
	 * @return int 成功导入数
	 */
	public function import_all() {
		$path = ROOT.'/resource/contact';
		$count = 0;
		
		$files = scandir($path);
		foreach ($files as $file) {
			$file_path = $path.'/'.$file;
			if(is_file($file_path)) {
				$content = file_get_contents($file_path);
				preg_match('/TEL;\w{4,5}:(.*)\s/', $content, $matchs);
				
				//$data['name'] = iconv('GBK', 'UTF-8', substr($file, 0, -4));
				$data['name'] = substr($file, 0, -4);
				$data['phone'] = empty($matchs[1]) ? '' : $matchs[1];
				$data['note'] = '';
				$data['create_time'] = time();
				
				$this->add($data) > 0 && $count++;
			}
		}
		
		return $count;
	}
	
	/**
	 * 导入一条数据
	 * @param array $data 数据
	 * @return int
	 */
	private function add($data) {
		// 姓名是否为空
		if(empty($data['name'])) {
			return -1;
		}
		// 姓名是否存在
		if($this->is_exists($data['name'])) {
			return -2;
		}
		// 导入
		return $this->create($data);
	}
	
	/**
	 * 姓名是否存在
	 * @param string $name 姓名
	 * @return bool
	 */
	private function is_exists($name) {
		$res = $this->find("name='$name'");
		return is_array($res);
	}
	
	/**
	 * 统计总数
	 * @return int
	 */
	public function get_count() {
		$res = $this->find(1, '', 1, 'COUNT(*) count');
		return $res['count'];
	}
	
	/**
	 * 清空联系人
	 */
	public function truncate() {
		return $this->query('TRUNCATE '.DB_PREFIX.'contact');
	}
}
?>